<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="coinfaces">

        <title>在zip文件中使用Unicode文件名</title>

    <link rel="stylesheet" href="../../theme/css/style.css">
    <link rel="stylesheet" href="../../theme/css/pygments.css">



</head>

<body>
    <div class="content">
<h1>在zip文件中使用Unicode文件名</h1>    <p>
        under
            <a href="../../tags/zip/">zip</a>
            <a href="../../tags/7-zip/">7-zip</a>
    </p>
    <p>
        in <a href="../../categories/tech/">tech</a>
    </p>
    <p>Published: 2016-08-05</p>


    <p>zip这种档案格式<a class="reference external" href="http://www.iana.org/assignments/media-types/application/zip">1993年出现</a>以来，直到<a class="reference external" href="https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.0.TXT">2006年 6.3版</a>才支持Unicode（UTF-8）文件名。虽然zip标准里说在此之前只支持IBM CP437编码，但如果那样的话，在zip档案中只能出现拉丁字母和少量的其它字符。事实上，各种zip软件在创建档案时使用当前系统的字符集来编码文件名，这样的档案文件在使用同样字符集的系统里可被正常解压，但在别的系统里解压就容易出现文件名乱码问题。</p>
<p>如果能在创建zip文件的时候明确要求软件使用Unicode文件名，就能保证支持zip 6.3标准的软件总能正确地解码档案中的文件名。在我找到的资料里，7-zip从<a class="reference external" href="http://www.7-zip.org/history.txt">2008年开始</a>支持Unicode文件名，并提供了3种模式，其中-mcu选项会让7-zip在遇到非ASCII字符时便启用UTF-8文件名编码，其命令行使用方法如下：</p>
<pre class="literal-block">
7z a -mcu archive.zip dir_with_many_files
</pre>
<p>7zFM的“创建压缩包”对话框左下角有一个名叫“参数”的文本框，在里面可以填写创建压缩包时想要使用的参数，但必须省略“-m”，也就是说，如需指定“-mcu”，则要在该文本框里填写“cu”。</p>
<p>（完）</p>

    </div>
<nav class="nav sidebar">
    <div class="siteinfo">
        <div class="sitename"><a href="../..">coinfaces</a></div>
        <div class="tagline">Another Side of Life</div>
    </div>

        <a href="../../categories/">categories</a>
        <a href="../..">&larr; Home</a>
</nav><footer class="footer">
    <span>
        &copy; jpli &middot;
        under <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a>
    </span>
    |
    <span>
        Powered by:
        <a href="http://blog.getpelican.com/">Pelican</a>
    </span>
</footer></body>
</html>